package cn.getech.data.development.model.vo;

import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 任务信息表
 * </p>
 *
 * @author zenith
 * @since 2018-08-23
 */
@Data
public class JobInfoDevOpsVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 项目id
     */
    private Integer procId;

    /**
     * 项目名称
     */
    private String procName;

    /**
     * 工作流或者作业流依赖菜单id
     */
    private Long workFlowId;

    private Integer jobId;

    private Long workFlowDepId;


    /**
     * 作业流类型。0：根目录 1：作业流血缘管理文件夹 2：子目录   3：作业流文件夹  4：作业流血缘文件夹
     */
    private Integer workType;

    /**
     * 任务名称
     */
    private String name;

    /**
     * 上次运行状态 0 失败 1 成功 2 运行中 3未启动
     */
    private Integer lastRunState;
    /**
     * 上次运行时间
     */
    private Date lastRunTime;
    private Date cronLastRunTime;
    /**
     * 上次运行耗时 单位ms
     */
    private Long lastRunCost;

    private String createPerName;

    private Integer jobLayStatus;//启用或者禁用 工作流依赖的状态。0：禁用  1：启用

    //最近一次运行的类型 -1：定时调度、-2：循环调度、id：手动操作的人id
    private Integer lastRunType;

    /**
     * 最近的运行人
     */
    private String lastRunPerName;

    private String oozieJobId;

    private Integer logId;

    /**
     *  是否可以修改和运行  0：不能  1：可以
     */
    private Integer isOwer = 0;

    /**
     *  是否是调度  1：正常调度   0或者null:暂停调度
     */
    private Integer scheduleType;
    private String expressionCron;
    private Date nextLastRunTime;
    private Integer scheduleOrInterval;
    //配置方式:cronType (1:手动配置 2：crontab表达式)
    //crontab表达式：cronUrl
    private Integer cronType;
    private String cronUrl;
    // 1：超时
    private Integer isOutHours;
    private Integer lastRunNum;
}
